//
//  BMAScoreAdvancement.m
//  Autismus
//
//  Created by Nicolas CHENG on 15/01/12.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#import "BMAScoreAdvancement.h"
#import "BMAScoreAdvancementChartView.h"

@implementation BMAScoreAdvancement

@synthesize date;

- (void)setDate:(NSDate *)value
{
    date = value;
    
    BMAStatsManager *statsManager = [BMAStatsManager sharedInstance];
    
    _results = [statsManager gameStatsForDate:value];
}


#pragma mark -
#pragma mark BMAScoreAdvChartViewDataSource

//////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////     REQUIRED     /////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////

// Nombre de jeux pour la date en cours
- (NSUInteger)scoreAdvancementChartViewNumberOfGames:(BMAScoreAdvancementChartView *)chartView
{
    return [_results count];
}

// Données pour la partie à un index donné à une date donnée
- (BMAStats *)scoreAdvancementChartView:(BMAScoreAdvancementChartView *)chartView statsAtIndex:(NSUInteger)index
{
    return [_results objectAtIndex:index];
}

//////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////     OPTIONAL     /////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////

// Couleur de la grille du fond (gris clair par défaut)
- (UIColor *)scoreAdvancementChartViewGridColor:(BMAScoreAdvancementChartView *)chartView
{
    return [UIColor colorWithHexString:@"dddddd"];
}

// Couleur de la barre des temps en fonction du type de jeux (couleur par défaut choisie par hasard)
- (UIColor *)scoreAdvancementChartView:(BMAScoreAdvancementChartView *)chartView colorForVerticalBarOfIDGame:(BMAIDGame)idGame
{
    UIColor *result = nil;
    
    if (idGame == BMAIDGamePaires)
    {
        result = [UIColor colorWithHexString:AUTIMO_STATS_HEXCOLOR_PAIRES];
    }
    else if (idGame == BMAIDGameIntrus)
    {
        result = [UIColor colorWithHexString:AUTIMO_STATS_HEXCOLOR_INTRUS];
    }
    else if (idGame == BMAIDGameDevinettes)
    {
        result = [UIColor colorWithHexString:AUTIMO_STATS_HEXCOLOR_DEVINETTES];
    }
    else
    {
        result = [UIColor lightGrayColor];
    }
    
    return result;
}

// Couleur du tracé de la ligne des scores (couleur grise foncée par défaut)
- (UIColor *)scoreAdvancementChartViewColorOfTheLineScores:(BMAScoreAdvancementChartView *)chartView
{
    return [UIColor colorWithHexString:@"aeaeae"];
}

// Couleur des axes (gris clair par défaut)
- (UIColor *)scoreAdvancementChartColorOfAxis:(BMAScoreAdvancementChartView *)chartView
{
    return [UIColor blackColor];
}

// Affichage de la grille du fond (valeur oui par défaut)
- (BOOL)scoreAdvancementChartViewShouldShowGrid:(BMAScoreAdvancementChartView *)chartView
{
    return YES;
}

// Nombre d'axe des ordonnées (par défaut = 1), au max il ne pourra en avoir que 2
- (NSUInteger)scoreAdvancementChartViewNumberOfYAxis:(BMAScoreAdvancementChartView *)chartView
{
    return 2;
}

// Nom de l'axe des ordonnées à un index donné (chaine vide par défaut)
- (NSString *)scoreAdvancementChartView:(BMAScoreAdvancementChartView *)chartView yAxisNameAtIndex:(NSUInteger)index
{
    NSString *result = @"score";
    
    if (index == 1)
    {
        result = @"temps/min";
    }
    
    return result;
}

// Nom de l'axe des abscisses (chaine vide par défaut)
- (NSString *)scoreAdvancementChartViewXAxisName:(BMAScoreAdvancementChartView *)chartView
{
    return @"parties/jour";
}

@end
